package com.sc.smartcommunity.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
@TableName("payment")
public class Payment {
//    主键ID
    @TableId(type = IdType.AUTO)
    private Long id;
    // 用户ID
    @TableField("user_id")
    private Long userId;
    // 金额
    @TableField("amount")
    private BigDecimal amount;
    // 缴费类型：1-水费 2-电费 3-燃气费 4-物业费
    @TableField("payment_type")
    private Integer paymentType;
    //状态：0-未支付 1-已支付
    @TableField("status")
    private Integer status;
    // 支付时间
    @TableField("payment_time")
    private LocalDateTime paymentTime;
    //创建时间
    @TableField("created_time")
    private LocalDateTime createdTime;
    //更新时间
    @TableField("updated_time")
    private LocalDateTime updatedTime;

    public Payment(Long id, Long userId, BigDecimal amount, Integer paymentType, Integer status, LocalDateTime paymentTime, LocalDateTime createdTime, LocalDateTime updatedTime) {
        this.id = id;
        this.userId = userId;
        this.amount = amount;
        this.paymentType = paymentType;
        this.status = status;
        this.paymentTime = paymentTime;
        this.createdTime = createdTime;
        this.updatedTime = updatedTime;
    }
    public Payment() {
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public Integer getPaymentType() {
        return paymentType;
    }

    public void setPaymentType(Integer paymentType) {
        this.paymentType = paymentType;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public LocalDateTime getPaymentTime() {
        return paymentTime;
    }

    public void setPaymentTime(LocalDateTime paymentTime) {
        this.paymentTime = paymentTime;
    }

    public LocalDateTime getCreatedTime() {
        return createdTime;
    }

    public void setCreatedTime(LocalDateTime createdTime) {
        this.createdTime = createdTime;
    }

    public LocalDateTime getUpdatedTime() {
        return updatedTime;
    }

    public void setUpdatedTime(LocalDateTime updatedTime) {
        this.updatedTime = updatedTime;
    }
}
